package top.hjcwzx.wrench.limiter.strategy.key;

import java.lang.reflect.Method;

//限流key选择策略
public interface RateLimiterKeyStrategy {
    /**
     * 生成限流Key
     * @param method  当前执行的方法
     * @param args    方法参数
     * @param target  目标对象
     * @param keyExpr 限流key表达式（可能是SpEL，也可能是普通字符串）
     * @return 解析后的限流Key
     */
    String generateKey(Method method, Object[] args, Object target, String keyExpr);
}
